Robert C Martin Clean Design, Components Principles